package org.dromara.common.wukong.dto;

import lombok.Data;

import java.util.HashMap;
import java.util.Map;

/**
 * 注册或登录
 * @Author: Stars
 * @Date: 2025/3/10 20:53
 */
@Data
public class UserTokenDTO {

    /**
     * 通信的用户唯一ID，可以随机uuid （建议自己服务端的用户唯一uid） （WuKongIMSDK需要）
     */
    private String uid;

    /**
     * 校验的token，随机uuid（建议使用自己服务端的用户的token）（WuKongIMSDK需要）
     */
    private String token;

    /**
     * 设备标识  0.app 1.web （相同用户相同设备标记的主设备登录会互相踢，从设备将共存）
     */
    private Integer deviceFlag;

    /**
     * 设备等级 0.为从设备 1.为主设备
     */
    private Integer deviceLevel;

    /**
     * 将对象属性转换为 Map
     * @return 包含对象属性的 Map
     */
    public Map<String, Object> convertToMap() {
        Map<String, Object> map = new HashMap<>();
        map.put("uid", this.getUid());
        map.put("token", this.getToken());
        map.put("device_flag", this.getDeviceFlag());
        map.put("device_level", this.getDeviceLevel());
        return map;
    }
}
